package com.example.service.impl;

import com.example.mapper.measuringToolsListMapp;
import com.example.pojo.measuringToolsListPojo;
import com.example.service.measuringToolsListService;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

//定义一个公开访问的类，即impl，类名命名规则：表名+Impl
@Service
public class measuringToolsListImpl implements measuringToolsListService {
    //自动依赖注入，自动将 measuringToolsListImpl 的实例注入到当前类，并会给mapper中自动生成一段代码
    @Autowired
    private measuringToolsListMapp measuringToolsListMapp;
    //声明insertOne方法，为pojo对象自动设置创建时间和更新时间
    public void insertOne(measuringToolsListPojo pojo){
        //定义创建时间生成规则
        pojo.setEstablishTime(LocalDateTime.now());
        //定义修改时间生成规则
        pojo.setUpdateTime(LocalDateTime.now());
        //调用 Mapper 插入数据
        measuringToolsListMapp.insertOne(pojo);
        //打印插入的数据
        System.out.println(pojo);
    }

    //查询计量器具基本信息表中所有的数据
    //该类可以公开访问，返回一个包含measuringToolsListPojo对象的列表
    public List<measuringToolsListPojo> queryAll(){
        //调用measuringToolsListMapp.queryAll()方法，将查询结果存储在pojoList变量中
        List<measuringToolsListPojo> pojoList = measuringToolsListMapp.queryAll();
        //直接返回从Mapper获取的结果列表
        return pojoList;
    }

    //根据IdUse编辑某一行数据
    public void editOneByIdUse(measuringToolsListPojo pojo){
        //定义修改时间生成规则
        pojo.setUpdateTime(LocalDateTime.now());
        //调用 Mapper 编辑数据
        measuringToolsListMapp.editOneByIdUse(pojo);
    }
}
